This repository was archived by the owner on May 21, 2026. It is now read-only.
fix: Return tool result in standard format - #52
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request Description
Changes
Simplified tool result handling in the LangChain adapter by removing custom content parsing and returning the raw MCP tool result as JSON string.
The main improvement is that tool results with multiple content elements (like resources) will now be properly formatted as JSON strings in MCP format, rather than being incorrectly concatenated or causing parsing errors.
This change fixes issues with complex tool results containing multiple content elements and adds compatibility with MCP-UI servers.
Implementation Details
parseMcpToolResultfunction: Eliminated the complex content parsing logic that was manually handling different content types (text, image, resource)parseMcpToolResult(result)toJSON.stringify(result)in the LangChain adapterEmbeddedResource,ImageContent, andTextContenttypes that are no longer neededExample Usage (Before)
Example Usage (After)
Documentation Updates
Testing
Describe how you tested these changes:
Backwards Compatibility
These changes are backwards compatible from an API perspective. The LangChain adapter still returns strings from tool execution, but now returns JSON-serialized MCP results instead of flattened text content. This change:
Related Issues
This change addresses issues with: